The present application relates to data communications and in particular to a system for providing power management in a network controller.
The growing power need of computer systems lead computer manufacturers to develop computer system with power management capabilities. For example, a personal computer may be provided with a power management system to place the computer in a power-down mode when no activity is detected during a preset time period. As a result, the power consumption of the computer may be substantially reduced.
In a data communications network, such as an Ethernet (IEEE 802.3) network, a network controller chip provides interface between a local bus of a computer system and network media. To reduce power consumption, when a computer system is placed in a power-down mode, the network controller chip also may be placed in a power-down mode.
The CPU of the computer system performs power management operations using software monitoring of the computer system activity. However, the CPU does not directly monitor the network activity. Therefore, placing the system into a power-down mode can result in the loss of data being transmitted to or received from the network.
To prevent data from being lost during power management operations, it would be desirable to provide the network controller with a power management indication system that indicates to the CPU when the network controller may be safely placed into a power-down mode.
The present invention offers a novel method of providing power management in a computer system having a network interface module including a buffer memory and a media access control (MAC) block. The method comprises determining whether the system is inactive during a predetermined time period. If so, activity of the MAC block is checked. If the MAC block is idle, the status of the buffer memory is determined. The system is placed into a power-down mode if the buffer memory is empty.
In accordance with one aspect of the invention, a network interface provided in a computer system controlled by a host and having power management capabilities for supporting a power saving mode, comprises a power management indication mechanism for providing the host with information on network activity when the system is placed in the power saving mode.
The power management indication mechanism may have a MAC indicator representing status of the MAC block activity. The MAC indicator may comprise a transmit idle indicator set to a preset state when the MAC block does not transmit data to the network and no data is waiting to be transmitted to the network. Also, the MAC indicator may comprise a receive idle indicator set to a preset state when the MAC block detects no data to be received from the network.
Further, the power management indication mechanism may have a buffer memory indicator representing status of the buffer memory. The buffer memory indicator may comprise a transmit buffer empty indicator set to a preset state when a transmit portion of the buffer memory is empty. Also, the buffer memory indicator may comprise a receive buffer empty indicator set to a present state when a receive portion of the buffer memory is empty.
Still other objects and advantages of the present invention will become readily apparent to those skilled in this art from the following detailed description, wherein only the preferred embodiment of the invention is shown and described, simply by way of illustration of the best mode contemplated of carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.